lock for update

大象笔记 > 标签 > lock for update

使用 Laravel sharedLock 与 lockForUpdate 进行数据表行锁

场景 拼团功能,当 A 客户开团之后(两人团),如果 B 和 C 同时支付,如何规避两人同时将拼团人数增加。 Laravel 中 sharedLock 与 lockForUpdate 的区别 sharedLock 对应的是 LOCK IN SHARE MODE lockForUpdate 对应的是 FOR UPDATE sharedLock 与 lockForUpdate 相同的地方是,都能避免同一行数据被其他 transaction 进行 update。 不同的地方是: sharedLock 不会阻止其他 transaction 读取同一行 lockForUpdate 会阻止其他 tr ...

阅读全文...

golang gorm 2 中使用 lock for update 锁

查了一下 golang gorm 2 确实支持 lock for update。文档: https://gorm.io/zh_CN/docs/advanced_query.html#Locking-FOR-UPDATE db.Clauses(clause.Locking{Strength: "UPDATE"}).Find(&users) 但由于 for update 必须在事务中使用,所以,还需要看看 gorm 事务的写法。 lock for update 与 share 的区别 参考 使用 Laravel sharedLock 与 lockForUpdate 进 ...

阅读全文...